package cn.emove.modular.system.mapper;

import cn.emove.modular.system.entity.MeterReading;
import cn.emove.modular.system.model.MeterReadingDto;
import cn.stylefeng.roses.core.datascope.DataScope;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface MeterReadingMapper extends BaseMapper<MeterReading> {
    /**
     * 根据条件查询缴费列表
     */
    Page<Map<String, Object>> selectMeterReadings(@Param("page") Page page, @Param("dataScope") DataScope dataScope, @Param("meterNo") String meterNo, @Param("shopName") String shopName, @Param("shopAdr") String shopAdr, @Param("monthTime") String monthTime, @Param("auditStatus") String auditStatus, @Param("meterType") String meterType, @Param("selectFlag") String selectFlag,@Param("meterModel") String meterModel);

    Integer insertBatch(@Param("list") List<MeterReadingDto> list);

    MeterReadingDto selectDataexist(@Param("month") String month, @Param("meterNo") String meterNo);

    Integer updateBatch(@Param("list") ArrayList<String> list, @Param("status") String status, @Param("remark") String remark);

    Integer updateOrInsert(MeterReadingDto meterReading);

    List<MeterReadingDto> selectDataListexist(@Param("month") String month, @Param("meterNo") String meterNo);
}
